{"cells":[{"cell_type":"markdown","source":["**Importing necessary libraries for data visualization and manipulation**"],"metadata":{"id":"tQ1SFp5mPsus"},"id":"tQ1SFp5mPsus"},{"cell_type":"code","execution_count":null,"id":"ded0d589-3d1f-44e0-a9a3-a8a76d6f7e9e","metadata":{"tags":[],"id":"ded0d589-3d1f-44e0-a9a3-a8a76d6f7e9e"},"outputs":[],"source":["# Used for creating static, interactive, and animated visualizations in Python\n","import matplotlib.pyplot as plt\n","# Used for creating line markers within plots\n","from matplotlib.lines import Line2D\n","# Provides a way of using operating system dependent functionality like reading or writing to a file system\n","import os\n","# Implements binary protocols for serializing and de-serializing a Python object structure.\n","import pickle\n","# Data manipulation and analysis library\n","import pandas as pd\n","# Fundamental package for scientific computing with Python\n","import numpy as np\n","# Represents a duration, the difference between two dates or times.\n","from datetime import timedelta\n","from scipy import interpolate  # Subpackage for interpolation which provides functions to deal with interpolation algorithms.\n","# Functions for performing B-spline representation and evaluation\n","from scipy.interpolate import splrep, splev, CubicSpline\n","from sklearn.model_selection import train_test_split\n","from scipy import signal\n","from scipy.stats import pearsonr"]},{"cell_type":"markdown","id":"92c8ce5f-9479-4337-a5fe-d1f4ab433506","metadata":{"id":"92c8ce5f-9479-4337-a5fe-d1f4ab433506"},"source":["**TRAIN DATA**"]},{"cell_type":"markdown","id":"c2ecd6de-8f14-4e31-b76a-1d06225e632c","metadata":{"id":"c2ecd6de-8f14-4e31-b76a-1d06225e632c"},"source":["**import BP & PPG train data**"]},{"cell_type":"code","execution_count":null,"id":"ba632adc-005f-46cd-b1e9-7e8591f865dd","metadata":{"id":"ba632adc-005f-46cd-b1e9-7e8591f865dd"},"outputs":[],"source":["extracted_folder = 'C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/Train Files'\n","\n","# Initializes an empty list named BP_dataframes that will later store the .pkl data as pandas DataFrames\n","BP__train_dataframes = []\n","\n","#Initializes an empty dictionary that will be used to map patient IDs to their respective index in the BP_dataframes\n","ID2Index = {}\n","\n","# Function extracts patient_id from a file_name\n","def extract_patient_id(file_name):\n","    return file_name.split('_')[-1].split('.')[0]\n","\n","# List all .pkl files in the directory\n","pkl_files = [f for f in os.listdir(extracted_folder) if f.endswith('.pkl')]\n","\n","# Loop through the files and load each as a DataFrame, storing them with the patient ID as a column\n","# Thus, every patient has a dataframe\n","# 'enumerate()' is used here to get both the index (i) and the filename (file_name) in each iteration\n","for i, file_name in enumerate(pkl_files):\n","    # Process only PPG files\n","    if \"BP\" in file_name:\n","        # Calls the previously defined extract_patient_id function to get the patient_id from the filename\n","        patient_id = extract_patient_id(file_name)\n","        file_path = os.path.join(extracted_folder, file_name)\n","        with open(file_path, 'rb') as file:\n","            # Load Data by using pickle.load\n","            data = pickle.load(file)\n","            # Inserts new column at the first index of DataFrame with a label \"ID\" filled with the patient_id\n","            data.insert(0,\"ID\",patient_id)\n","            BP__train_dataframes.append(data)\n","            # Map Patient_id to Index by updating the ID2Index dict, setting the current patient_id as a key whose value\n","            #  is the current index of the DataFrame in ppg_dataframes.\n","            ID2Index[patient_id] = len(BP_train_dataframes) - 1"]},{"cell_type":"code","execution_count":null,"id":"1bcc0ba2-9c01-464d-b5d0-29d7f8418b9e","metadata":{"id":"1bcc0ba2-9c01-464d-b5d0-29d7f8418b9e"},"outputs":[],"source":["extracted_folder = 'C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/Train Files'\n","\n","# Initializes an empty list named ppg_dataframes that will later store the .pkl data as pandas DataFrames\n","ppg__train_dataframes = []\n","\n","#Initializes an empty dictionary that will be used to map patient IDs to their respective index in the ppg_dataframes\n","ID2Index = {}\n","\n","# Function extracts patient_id from a file_name\n","def extract_patient_id(file_name):\n","    return file_name.split('_')[-1].split('.')[0]\n","\n","# List all .pkl files in the directory\n","pkl_files = [f for f in os.listdir(extracted_folder) if f.endswith('.pkl')]\n","\n","# Loop through the files and load each as a DataFrame, storing them with the patient ID as a column\n","# Thus, every patient has a dataframe\n","# 'enumerate()' is used here to get both the index (i) and the filename (file_name) in each iteration\n","for i, file_name in enumerate(pkl_files):\n","    # Process only PPG files\n","    if \"PPG\" in file_name:\n","        # Calls the previously defined extract_patient_id function to get the patient_id from the filename\n","        patient_id = extract_patient_id(file_name)\n","        file_path = os.path.join(extracted_folder, file_name)\n","        with open(file_path, 'rb') as file:\n","            # Load Data by using pickle.load\n","            data = pickle.load(file)\n","            # Inserts new column at the first index of DataFrame with a label \"ID\" filled with the patient_id\n","            data.insert(0,\"ID\",patient_id)\n","            ppg__train_dataframes.append(data)\n","            # Map Patient_id to Index by updating the ID2Index dict, setting the current patient_id as a key whose value\n","            #  is the current index of the DataFrame in ppg_dataframes.\n","            ID2Index[patient_id] = len(ppg_train_dataframes) - 1"]},{"cell_type":"markdown","id":"4e99dd4a-7e69-4ef1-bfd2-81a4879318c4","metadata":{"id":"4e99dd4a-7e69-4ef1-bfd2-81a4879318c4"},"source":["**TEST DATA**"]},{"cell_type":"markdown","id":"2239c928-3a1a-4480-a2dd-d12232827c28","metadata":{"id":"2239c928-3a1a-4480-a2dd-d12232827c28"},"source":["**Import BP & PPG test data**"]},{"cell_type":"code","execution_count":null,"id":"99847e0a-b6f2-4681-9c1e-81f3fd66645a","metadata":{"tags":[],"id":"99847e0a-b6f2-4681-9c1e-81f3fd66645a"},"outputs":[],"source":["extracted_folder = 'C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/Test Files'\n","\n","# Initializes an empty list named BP_dataframes that will later store the .pkl data as pandas DataFrames\n","BP__test_dataframes = []\n","\n","#Initializes an empty dictionary that will be used to map patient IDs to their respective index in the BP_dataframes\n","ID2Index = {}\n","\n","# Function extracts patient_id from a file_name\n","def extract_patient_id(file_name):\n","    return file_name.split('_')[-1].split('.')[0]\n","\n","# List all .pkl files in the directory\n","pkl_files = [f for f in os.listdir(extracted_folder) if f.endswith('.pkl')]\n","\n","# Loop through the files and load each as a DataFrame, storing them with the patient ID as a column\n","# Thus, every patient has a dataframe\n","# 'enumerate()' is used here to get both the index (i) and the filename (file_name) in each iteration\n","for i, file_name in enumerate(pkl_files):\n","    # Process only PPG files\n","    if \"BP\" in file_name:\n","        # Calls the previously defined extract_patient_id function to get the patient_id from the filename\n","        patient_id = extract_patient_id(file_name)\n","        file_path = os.path.join(extracted_folder, file_name)\n","        with open(file_path, 'rb') as file:\n","            # Load Data by using pickle.load\n","            data = pickle.load(file)\n","            # Inserts new column at the first index of DataFrame with a label \"ID\" filled with the patient_id\n","            data.insert(0,\"ID\",patient_id)\n","            BP__test_dataframes.append(data)\n","            # Map Patient_id to Index by updating the ID2Index dict, setting the current patient_id as a key whose value\n","            #  is the current index of the DataFrame in ppg_dataframes.\n","            ID2Index[patient_id] = len(BP_test_dataframes) - 1"]},{"cell_type":"code","execution_count":null,"id":"9a103e61-db02-4f36-9eca-c78822f6df6c","metadata":{"tags":[],"id":"9a103e61-db02-4f36-9eca-c78822f6df6c"},"outputs":[],"source":["extracted_folder = 'C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/Test Files'\n","\n","# Initializes an empty list named ppg_dataframes that will later store the .pkl data as pandas DataFrames\n","ppg__test_dataframes = []\n","\n","#Initializes an empty dictionary that will be used to map patient IDs to their respective index in the ppg_dataframes\n","ID2Index = {}\n","\n","# Function extracts patient_id from a file_name\n","def extract_patient_id(file_name):\n","    return file_name.split('_')[-1].split('.')[0]\n","\n","# List all .pkl files in the directory\n","pkl_files = [f for f in os.listdir(extracted_folder) if f.endswith('.pkl')]\n","\n","# Loop through the files and load each as a DataFrame, storing them with the patient ID as a column\n","# Thus, every patient has a dataframe\n","# 'enumerate()' is used here to get both the index (i) and the filename (file_name) in each iteration\n","for i, file_name in enumerate(pkl_files):\n","    # Process only PPG files\n","    if \"PPG\" in file_name:\n","        # Calls the previously defined extract_patient_id function to get the patient_id from the filename\n","        patient_id = extract_patient_id(file_name)\n","        file_path = os.path.join(extracted_folder, file_name)\n","        with open(file_path, 'rb') as file:\n","            # Load Data by using pickle.load\n","            data = pickle.load(file)\n","            # Inserts new column at the first index of DataFrame with a label \"ID\" filled with the patient_id\n","            data.insert(0,\"ID\",patient_id)\n","            ppg__test_dataframes.append(data)\n","            # Map Patient_id to Index by updating the ID2Index dict, setting the current patient_id as a key whose value\n","            #  is the current index of the DataFrame in ppg_dataframes.\n","            ID2Index[patient_id] = len(ppg_test_dataframes) - 1"]},{"cell_type":"code","execution_count":null,"id":"3684edd7-ac53-48a5-9ee2-e2ad58e43892","metadata":{"id":"3684edd7-ac53-48a5-9ee2-e2ad58e43892","outputId":"6bee9994-b97b-4fb3-ded4-4093b5fd0b63"},"outputs":[{"data":{"text/plain":["[<matplotlib.lines.Line2D at 0x22cffd1fa90>]"]},"execution_count":10,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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mICSzxqNJRi284B6Xla6fXR7faPU3QbKEplMkyhYcj7D0EktyKNwlS64Gs8D9sBNMK2LHfOa4drrcBru0jKNCTIXeVuceFVC4Q7GAme0xfkf/MEf4DWveQ22bNmCLVu24NJLL8VXv/pV+fs0TXHjjTdi7969mJycxBvf+EY8+uijub+xsrKC973vfdi5cyemp6fxjne8A88++2zuPfPz89i3bx/m5uYwNzeHffv24fjx47n3PPPMM3j729+O6elp7Ny5E9deey1WV/0ymnEAV5/usg03TWbOWirHOJeri69JmsvQwjbh042ASzoAFCelVsOegcrG2jMePhbL1Y170lFrpCZf9TPxmdez2a65T1R2fdLUraVmNdsdfIauwWLVxjLOtBryOpzYRL2iqJzP1MxUx6qnJsrERIkAndNsl75PPLc/HQRRL942CQA4uLBsHgglnaONdk34hXO25p7fPXPuIEplzYU7XwATNZDAiWfM1icKAF49YKJ+cOAkev1UGhNMOcZsH9icUzlfRzKG5ufAFOxm4yxyPgcTJeuvAvR8tPcWwAiiDDVRdBPmk/PpMidffyk13lQT5XcjNDnRco0l9CCKZuzLMFGmTXSD0UbAtV4JCCbqeBkmitZEeZKagH0991qcSwYrjN2hoCz6YqfHZhXpWNpU2FsT5XQUNjBRbfseyfWdlDaWEHO0rfWM495pyD2Eg4ki30vD0jvNBBuz6K0bF8E0oybKZHG+6ZmoF7/4xfi93/s9fPe738V3v/td/Mqv/Ar+zt/5OzJQ+vCHP4yPfexj+OQnP4kHHngAe/bswZvf/GacPKmsZq+77jrccccduP3223H33Xfj1KlTuPLKK9HrqQt61VVX4aGHHsKdd96JO++8Ew899BD27dsnf9/r9fC2t70Np0+fxt13343bb78dX/rSl3D99dcPez0qgR63JirANhzwBF+Om3+CYSxhbbbrMLSwHdPWbV4dk2Zn8mPZgZDpXD1UtZOJYtVEjVjOZ+wT5bcppeflNJZwyfks92GtlmxKSR9lojiNhL1NXMXGiGx2l6SMLbAmalUwUZmc73U/swMAcOjEsnUBnj8tTCXM9VACk606Ljpnq/z3eXtmne/fojVb5ti263bvS4z6ppftmMZks46lTg9PHTklj2Nz5wMyQwrAbCxhZ6Kyc9PZx1WbnG/KHkSteo5lQrNey5lllKmJoveAr9muXhPV8dRS6edlromyf15lOU3PN3v1WpyLYEFzgrONVbbYtg1icWPpYuPV+drXK4Ft2j3OMd0QoA3MOUGtzSjKZybklvXzmIRc4+WVLmFK3OMANUd0eqmcC22W/M4gylF/M9k01/4Bbsmiz1jC187FZkaUOvY6rvVXQN9j+YIgNc6cHPfvkfz3rZ7cy40bQyoqKIh6+9vfjr/9t/82XvnKV+KVr3wlfvd3fxczMzO49957kaYpPvGJT+CDH/wg3vnOd+KCCy7AZz/7WSwuLuKLX/wiAGBhYQGf/vSncfPNN+Pyyy/HRRddhNtuuw0PP/wwvvGNbwAAHn/8cdx55534oz/6I1x66aW49NJLceutt+LLX/4ynnjiCQDAXXfdhcceewy33XYbLrroIlx++eW4+eabceutt+LECbvOf1zgy85MWhof0rFG55mmQ+/rmMzU5BluLEENLfTgzXbMek0VTbombABItLGuglJAZTzcNVHhVLWpJ4k+jq5rZeR8K92ecXK3wdRAk2NTCih2yWlx7pATuO5hZS6xeRz6joUyUR45n5GJYsjYKFQmPjvW/mNZEPXal25DLck2sUdPrRjHioawNlMJin/yN35GHu+yn93pfK/ebFkyUQ6ZnZDALSzmmSjXdajXErzq7Cyge/T5E8oe3hGsmRocr/R435NeByedMbUgWTbcNcr5UuMYH6ikz8XOZedblCvReh4rE2WQAQIq4df0MlFFOaDK7NvHTRkMLdhyPm2zRoMZp7GEr9dPLT+fAiogNI6jx7Wc81ZLTRTH7l7MpydXupI5dY2z9X30SQhdTFQIk6AMInrWzboJNEEgkhC2YJHK+nXZumttcjJRjr2VMpYIKwXwGUvQ20rf63CYKN112RUIc8530rEXzI4nxtn/tokEcNnOVx2la6J6vR5uv/12nD59GpdeeimeeuopHDx4EFdccYV8T7vdxhve8Abcc889AIAHH3wQnU4n9569e/figgsukO/5zne+g7m5OVxyySXyPa973eswNzeXe88FF1yAvXv3yve85S1vwcrKCh588EHrOa+srODEiRO5/6oI3wTqevAUnVocN8GR8znc+Xr9tDBJyKDEeKZivFlH68q2TThszumcWJTz+cwhxDjXeYY7+006JifTuNA+UUurPfzKR7+Nt3ziz53W7xTS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YxgaGkIsZq56mteZqFgshiVLljT6MHx0d3c3/AIiZh86r60HndPWhM5r60HntDWh89p6ROWcBmWgGGQsQRAEQRAEQRAEEQIKogiCIAiCIAiCIEJAQVRESKfTuOOOO5BOpxt9KMQsQue19aBz2prQeW096Jy2JnReW49mPafz2liCIAiCIAiCIAgiLJSJIgiCIAiCIAiCCAEFUQRBEARBEARBECGgIIogCIIgCIIgCCIEFEQRBEEQBEEQBEGEgIIogiAIgiAIgiCIEFAQNcu89957uPrqq9HX14f29nZ88IMfxJYtW/jfXdfF+vXrMTQ0hEwmg7PPPhsvv/yy7zVyuRxuuukmLFy4EB0dHbj88svx7rvv+rYZHh7GunXrkM1mkc1msW7dOhw8eHAuPuK84ogjjoDjODX/3XDDDQDofDYjxWIRf/qnf4rly5cjk8ngyCOPxJ//+Z+jXC7zbei8NidjY2O45ZZbcPjhhyOTyeD000/Hr371K/53Oq/R5pe//CUuu+wyDA0NwXEc/PjHP/b9fS7P3zvvvIPLLrsMHR0dWLhwIW6++Wbk8/l6fOyWJ+i8PvLII7jwwguxcOFCOI6Dbdu21bwGnddoYTqnhUIBt912G0444QR0dHRgaGgIn/rUp/D+++/7XqMlzqlLzBoHDhxwDz/8cPfaa691n3vuOXf79u3uE0884b755pt8m7vvvtvt6upyH374YffFF190/+AP/sBdvHixOzo6yrf53Oc+5x522GHu448/7r7wwgvuOeec45500klusVjk21x00UXuqlWr3GeeecZ95pln3FWrVrmXXnrpnH7e+cCePXvcnTt38v8ef/xxF4D75JNPuq5L57MZ+cu//Eu3r6/Pfeyxx9zt27e7//RP/+R2dna63/72t/k2dF6bkyuvvNJduXKl+9RTT7lvvPGGe8cdd7jd3d3uu+++67oundeo87Of/cy9/fbb3YcfftgF4D766KO+v8/V+SsWi+6qVavcc845x33hhRfcxx9/3B0aGnJvvPHGun8HrUjQef3+97/v/tmf/Zl73333uQDcrVu31rwGnddoYTqnBw8edM877zz3Rz/6kfvqq6+6mzdvdk899VR39erVvtdohXNKQdQsctttt7lnnHGG9u/lctkdHBx07777bv676elpN5vNun/3d3/num7l4ksmk+5DDz3Et3nvvffcWCzmbty40XVd133llVdcAO6zzz7Lt9m8ebMLwH311Vdn+2MRAp///Ofdo446yi2Xy3Q+m5RLLrnE/fSnP+373RVXXOFeffXVruvSfdqsTE5OuvF43H3sscd8vz/ppJPc22+/nc5rkyFPzOby/P3sZz9zY7GY+9577/Ft/vEf/9FNp9PuyMhIXT7vfEEVRDG2b9+uDKLovEYb0zllPP/88y4A9+2333Zdt3XOKcn5ZpGf/OQn+PCHP4zf//3fR39/P04++WTcd999/O/bt2/Hrl27cMEFF/DfpdNpnHXWWXjmmWcAAFu2bEGhUPBtMzQ0hFWrVvFtNm/ejGw2i1NPPZVvc9pppyGbzfJtiNknn89jw4YN+PSnPw3Hceh8NilnnHEGfvGLX+D1118HAPzXf/0Xnn76afzu7/4uALpPm5VisYhSqYS2tjbf7zOZDJ5++mk6r03OXJ6/zZs3Y9WqVRgaGuLbXHjhhcjlcj55PjE30HltfkZGRuA4DhYsWACgdc4pBVGzyFtvvYXvfOc7OProo/Hzn/8cn/vc53DzzTfj+9//PgBg165dAICBgQHffgMDA/xvu3btQiqVQk9Pj3Gb/v7+mvfv7+/n2xCzz49//GMcPHgQ1157LQA6n83KbbfdhquuugrHHnsskskkTj75ZNxyyy246qqrANB5bVa6urqwZs0a/MVf/AXef/99lEolbNiwAc899xx27txJ57XJmcvzt2vXrpr36enpQSqVonPcAOi8NjfT09P4yle+grVr16K7uxtA65zTRN3fYR5RLpfx4Q9/GHfeeScA4OSTT8bLL7+M73znO/jUpz7Ft3Mcx7ef67o1v5ORt1Ftb/M6xMz57ne/i4svvti34gHQ+Ww2fvSjH2HDhg148MEHcfzxx2Pbtm245ZZbMDQ0hGuuuYZvR+e1+fjBD36AT3/60zjssMMQj8fxoQ99CGvXrsULL7zAt6Hz2tzM1fmjcxx96LxGn0KhgE984hMol8v427/928Dtm+2cUiZqFlm8eDFWrlzp+91xxx2Hd955BwAwODgIADXR8Z49e3gkPTg4iHw+j+HhYeM2u3fvrnn/vXv31kTkxOzw9ttv44knnsAf/dEf8d/R+WxO/uRP/gRf+cpX8IlPfAInnHAC1q1bhy984Qu46667ANB5bWaOOuooPPXUUxgfH8eOHTvw/PPPo1AoYPny5XRem5y5PH+Dg4M17zM8PIxCoUDnuAHQeW1OCoUCrrzySmzfvh2PP/44z0IBrXNOKYiaRT760Y/itdde8/3u9ddfx+GHHw4AfCB//PHH+d/z+TyeeuopnH766QCA1atXI5lM+rbZuXMnXnrpJb7NmjVrMDIygueff55v89xzz2FkZIRvQ8wu999/P/r7+3HJJZfw39H5bE4mJycRi/kfffF4nFuc03ltfjo6OrB48WIMDw/j5z//OX7v936PzmuTM5fnb82aNXjppZewc+dOvs2mTZuQTqexevXqun5OohY6r80HC6DeeOMNPPHEE+jr6/P9vWXOad2tK+YRzz//vJtIJNyvfe1r7htvvOH+8Ic/dNvb290NGzbwbe6++243m826jzzyiPviiy+6V111ldKidcmSJe4TTzzhvvDCC+7v/M7vKG0fTzzxRHfz5s3u5s2b3RNOOIEsdutEqVRyly1b5t522201f6Pz2Xxcc8017mGHHcYtzh955BF34cKF7pe//GW+DZ3X5mTjxo3uv/7rv7pvvfWWu2nTJvekk05yTznlFDefz7uuS+c16oyNjblbt251t27d6gJwv/nNb7pbt27ljl5zdf6YbfK5557rvvDCC+4TTzzhLlmyhKywZ0jQed2/f7+7detW96c//akLwH3ooYfcrVu3ujt37uSvQec1WpjOaaFQcC+//HJ3yZIl7rZt23xtYnK5HH+NVjinFETNMv/yL//irlq1yk2n0+6xxx7r/sM//IPv7+Vy2b3jjjvcwcFBN51Ou2eeeab74osv+raZmppyb7zxRre3t9fNZDLupZde6r7zzju+bfbv3+9+8pOfdLu6utyuri73k5/8pDs8PFzvjzcv+fnPf+4CcF977bWav9H5bD5GR0fdz3/+8+6yZcvctrY298gjj3Rvv/1238Odzmtz8qMf/cg98sgj3VQq5Q4ODro33HCDe/DgQf53Oq/R5sknn3QB1Px3zTXXuK47t+fv7bffdi+55BI3k8m4vb297o033uhOT0/X8+O3LEHn9f7771f+/Y477uCvQec1WpjOKbOqV/3Hemy6bmucU8d1Xbf++S6CIAiCIAiCIIjWgGqiCIIgCIIgCIIgQkBBFEEQBEEQBEEQRAgoiCIIgiAIgiAIgggBBVEEQRAEQRAEQRAhoCCKIAiCIAiCIAgiBBREEQRBEARBEARBhICCKIIgCIIgCIIgiBBQEEUQBEEQBEEQBBECCqIIgiAIgiAIgiBCQEEUQRAEQRAEQRBECCiIIgiCIAiCIAiCCMH/DzpGPvA6yo/lAAAAAElFTkSuQmCC","text/plain":["<Figure size 1000x500 with 1 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["plt.figure(figsize=(10,5))\n","plt.plot(ppg_dataframes[0]['PLETH'][6000:12000])"]},{"cell_type":"markdown","source":["**Combine PPG and BP data based on 1 minute segments with BP measurment**"],"metadata":{"id":"KAVASqDhP3Cq"},"id":"KAVASqDhP3Cq"},{"cell_type":"code","execution_count":null,"id":"5d56ba3f-5725-4185-ad31-bc06d5b15b2e","metadata":{"id":"5d56ba3f-5725-4185-ad31-bc06d5b15b2e"},"outputs":[],"source":["def get_combined_segments(bp_dataframes, ppg_dataframes):\n","    \"\"\"\n","    This function combines blood pressure (BP) data with photoplethysmogram (PPG) data for corresponding patients\n","    within a specified time window. For each BP measurement, it extracts the corresponding PPG data with an additional\n","    2.5 seconds padding before and after the one-minute window.\n","\n","    Parameters:\n","    bp_dataframes (list of pd.DataFrame): A list of pandas DataFrames, each containing BP data for a patient.\n","    ppg_dataframes (list of pd.DataFrame): A list of pandas DataFrames, each containing PPG data for a patient.\n","\n","    Returns:\n","    combined_segments_list (list of pd.DataFrame): A list of pandas DataFrames, each containing the combined PPG data\n","    with the corresponding BP measurements for a patient.\n","    \"\"\"\n","    combined_segments_list = []\n","    global_window_idx = 0  # Initialize a global counter for unique window_idx\n","\n","    for i, bp_df in enumerate(bp_dataframes):\n","        # Retrieve the corresponding PPG DataFrame\n","        ppg_df = ppg_dataframes[i]\n","\n","        # Convert 'DataTime' columns to datetime for both BP and PPG DataFrames\n","        bp_df['DataTime'] = pd.to_datetime(bp_df['DataTime'])\n","        ppg_df['DataTime'] = pd.to_datetime(ppg_df['DataTime'])\n","\n","        # Iterate through each row in the BP DataFrame\n","        for idx, row in bp_df.iterrows():\n","            patient_id = row['ID']\n","            bp_time = row['DataTime']\n","\n","            # Define the time window for PPG data with additional 2.5 seconds padding on both sides\n","            start_time = bp_time - pd.Timedelta(seconds=62.5)\n","            end_time = bp_time + pd.Timedelta(seconds=2.5)\n","\n","            # Filter the PPG DataFrame for the given time window and patient ID\n","            ppg_segment = ppg_df[\n","                (ppg_df['ID'] == patient_id) &\n","                (ppg_df['DataTime'] >= start_time) &\n","                (ppg_df['DataTime'] <= end_time)\n","            ].copy()\n","\n","            # Add BP data columns to the PPG segment\n","            ppg_segment['SBP'] = row['SBP']\n","            ppg_segment['DBP'] = row['DBP']\n","            ppg_segment['MAP'] = row['MAP']\n","            ppg_segment['window_idx'] = global_window_idx  # Assign a unique window_idx\n","\n","            # Append the segment to the list\n","            combined_segments_list.append(ppg_segment)\n","\n","            # Increment the global window_idx counter\n","            global_window_idx += 1\n","\n","    return combined_segments_list\n","\n","# Assuming BP_dataframes and ppg_dataframes are already loaded\n","combined_train_segments_list = get_combined_segments(BP_train_dataframes, ppg_train_dataframes)\n","combined_test_segments_list = get_combined_segments(BP_test_dataframes, ppg_test_dataframes)"]},{"cell_type":"code","execution_count":null,"id":"682f0b0f-9e18-4fb7-a7ff-c055db635c6b","metadata":{"id":"682f0b0f-9e18-4fb7-a7ff-c055db635c6b","outputId":"fc484155-9b9e-4df1-e8d1-148d874a1253"},"outputs":[{"data":{"text/plain":["2678"]},"execution_count":9,"metadata":{},"output_type":"execute_result"}],"source":["#number of total segments found:\n","len(combined_segments_list)"]},{"cell_type":"markdown","id":"2d6df93a","metadata":{"id":"2d6df93a"},"source":["Filtering segments and get only the segments that have 6500 lines ( 65 sec * 100 ms)"]},{"cell_type":"code","execution_count":null,"id":"3de7fbdd-1697-4223-8392-7a3778926794","metadata":{"tags":[],"id":"3de7fbdd-1697-4223-8392-7a3778926794","outputId":"09d951fc-44c5-42ae-ccd8-611b7ab4c498"},"outputs":[{"name":"stdout","output_type":"stream","text":["Number of segments with exactly 6500 rows and PERFUSION_INDEX >= 1: 929\n"]}],"source":["def filter_segments_by_row_count_and_perfusion_index(segments, row_count=6500):\n","    \"\"\"\n","    Filters a list of DataFrames to only include those with a specific number of rows and a PERFUSION_INDEX greater than or equal to 1.\n","\n","    Parameters:\n","    segments (list of pd.DataFrame): A list of pandas DataFrames, each representing a segment of combined PPG and BP data.\n","    row_count (int): The required number of rows for each segment to be included in the filtered list (default is 6500).\n","\n","    Returns:\n","    filtered_segments_list (list of pd.DataFrame): A list of pandas DataFrames that meet the criteria of having exactly\n","    row_count rows and a PERFUSION_INDEX greater than or equal to 1.\n","    \"\"\"\n","    filtered_segments_list = []\n","\n","    for segment in segments:\n","        if len(segment) == row_count and (segment['PERFUSION_INDEX'] >= 1).all():\n","            filtered_segments_list.append(segment)\n","\n","    return filtered_segments_list\n","\n","# Filter combined_segments to only include DataFrames with exactly 6500 rows and PERFUSION_INDEX >= 1\n","filtered_train_segments = filter_segments_by_row_count_and_perfusion_index(combined_train_segments_list, 6500)\n","filtered_test_segments = filter_segments_by_row_count_and_perfusion_index(combined_test_segments_list, 6500)\n","# Display the number of filtered segments\n","print(f\"Number of segments with exactly 6500 rows and PERFUSION_INDEX >= 1: {len(filtered_segments)}\")\n"]},{"cell_type":"code","execution_count":null,"id":"03a65f94-88b8-416c-9600-94694568eae1","metadata":{"id":"03a65f94-88b8-416c-9600-94694568eae1","outputId":"d3cc7723-491a-44a0-b311-0234e8704e3d"},"outputs":[{"data":{"text/plain":["[<matplotlib.lines.Line2D at 0x21cd87d4890>]"]},"execution_count":11,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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","text/plain":["<Figure size 640x480 with 1 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["#example:\n","plt.plot(filtered_segments[0]['PLETH'][4000:4500])"]},{"cell_type":"code","execution_count":null,"id":"f12fbdb2-d4bc-4b1b-81a8-09ddaa309ab7","metadata":{"id":"f12fbdb2-d4bc-4b1b-81a8-09ddaa309ab7"},"outputs":[],"source":["def replace_values_with_nan(segments, saturation_values):\n","    \"\"\"\n","    Replaces specified values in the 'PLETH' column of each DataFrame with NaN.\n","\n","    Parameters:\n","        dataframes (dict): A dictionary of pandas DataFrame objects, each containing PPG data.\n","        saturation_values (list): Numeric values to be replaced with NaN in the 'PLETH' column.\n","\n","    Returns:\n","        dict: The updated dictionary of DataFrames with specified values replaced by NaN in the 'PLETH' column.\n","    \"\"\"\n","    nan_segments = []\n","    for segment in segments:\n","        nan_segment = segment.copy()\n","        nan_segment.loc[:, 'PLETH'] = nan_segment['PLETH'].replace(saturation_values, np.nan)\n","        nan_segments.append(nan_segment)\n","\n","    return nan_segments\n","\n","saturation_values = [1.0, 3276.0, 62258.0, 65535.0]\n","nan_train_segments = replace_values_with_nan(filtered_train_segments, saturation_values)\n","nan_test_segments = replace_values_with_nan(filtered_test_segments, saturation_values)"]},{"cell_type":"code","execution_count":null,"id":"89dedc54-5cd1-4ec4-a182-f06a2639b4ff","metadata":{"id":"89dedc54-5cd1-4ec4-a182-f06a2639b4ff","outputId":"1de57142-8af2-48ce-b6d1-a7fa5ca961fe"},"outputs":[{"data":{"text/plain":["[<matplotlib.lines.Line2D at 0x21cd8810410>]"]},"execution_count":14,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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","text/plain":["<Figure size 640x480 with 1 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["plt.plot(nan_segments[0]['PLETH'][4000:4500])"]},{"cell_type":"markdown","id":"c6759217-c37a-45c9-af32-49de0c3db183","metadata":{"id":"c6759217-c37a-45c9-af32-49de0c3db183"},"source":["**Imputation - BSpline / Cubic by hole size:**"]},{"cell_type":"code","execution_count":null,"id":"a3f4de5d-8ef1-43d1-9a5d-a497b8676318","metadata":{"id":"a3f4de5d-8ef1-43d1-9a5d-a497b8676318"},"outputs":[],"source":["def interpolate_nans(segment_with_nan):\n","    \"\"\"\n","    Interpolates NaN values in a window using cubic spline interpolation based on valid points.\n","\n","    Parameters:\n","    segment_with_nan (np.array): Array containing NaN values to be interpolated.\n","\n","    Returns:\n","    np.array: Array with NaN values interpolated.\n","    \"\"\"\n","    valid_indices = np.where(~np.isnan(segment_with_nan))[0]\n","    nan_indices = np.where(np.isnan(segment_with_nan))[0]\n","    valid_values = segment_with_nan[valid_indices]  # Extract the non-NaN values\n","\n","    if len(nan_indices) == 0:\n","        # If there are no NaNs, just append the original segment\n","        return segment_with_nan\n","    else:\n","        # Split the nan_indices array into contiguous segments\n","        nan_segments_list = np.split(nan_indices, np.where(np.diff(nan_indices) != 1)[0] + 1)\n","\n","        for nan_segment in nan_segments_list:\n","            hole_size = len(nan_segment)\n","\n","            if 2 <= hole_size <= 66: # Apply B-spline interpolation\n","                # Fit the B-spline model to the valid point\n","                tck = splrep(valid_indices, valid_values, k=2)\n","                # Interpolate the NaN points\n","                imputed_values = splev(nan_indices, tck)  # Use the B-spline to evaluate the NaN points\n","\n","            else: # Apply cubic spline interpolation\n","                # Fit the cubic spline model to the valid points\n","                cs = CubicSpline(valid_indices, valid_values)\n","                # Interpolate the NaN points\n","                imputed_values = cs(nan_indices)\n","\n","            # Create the complete window by filling in the interpolated values\n","            complete_segment_with_interpolation = segment_with_nan.copy()\n","            complete_segment_with_interpolation[nan_indices] = imputed_values\n","\n","        return complete_segment_with_interpolation"]},{"cell_type":"code","execution_count":null,"id":"474e673d-7f7c-4a9b-8fca-063eebdc6655","metadata":{"id":"474e673d-7f7c-4a9b-8fca-063eebdc6655"},"outputs":[],"source":["def impute_nans_with_spline(nan_segments):\n","    \"\"\"\n","    Imputes NaN values in a list of DataFrames using cubic spline interpolation.\n","\n","    Parameters:\n","    nan_segments (list of pd.DataFrame): List of DataFrames containing NaN values to be imputed.\n","\n","    Returns:\n","    list of pd.DataFrame: List of DataFrames with NaN values imputed.\n","    \"\"\"\n","    imputed_segments_list = []\n","\n","    for i, segment_df in enumerate(nan_segments):\n","        segment_with_nan = segment_df['PLETH'].values\n","        imputed_segment = interpolate_nans(segment_with_nan)\n","        imputed_df = segment_df.copy()\n","        imputed_df['PLETH'] = imputed_segment\n","        imputed_segments_list.append(imputed_df)\n","\n","    return imputed_segments_list"]},{"cell_type":"code","execution_count":null,"id":"acf492df-a199-444c-8f21-e30e1eb3571e","metadata":{"id":"acf492df-a199-444c-8f21-e30e1eb3571e"},"outputs":[],"source":["imputed_train_segments = impute_nans_with_spline(nan_train_segments)\n","imputed_test_segments = impute_nans_with_spline(nan_test_segments)"]},{"cell_type":"code","execution_count":null,"id":"93c445e3-0542-4fbd-af31-bd161b7885f8","metadata":{"id":"93c445e3-0542-4fbd-af31-bd161b7885f8","outputId":"e76b5533-4b6a-442e-cd1c-4ebd7b48adff"},"outputs":[{"data":{"text/plain":["[<matplotlib.lines.Line2D at 0x21ce3f7bd90>]"]},"execution_count":18,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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++67+3xuXueehnOt77//frz33nvYuXMn/tf/+l94//33cc899yiPh8O1DuvTywl49NFHcfToUezevfuaxwRB6PH/RVG85ns30tf43s8zkDFa54/r7HQ6sXz5ckyePBnPPPNMv8/R1/OEw3UGhn+t77//fixZsgSVlZV44YUXsHr1anz11Vew2Wx9PkdfzxMO13qo1/nDDz/E559/jqKion6fn9e5y3D+m167dq3yv3NzczFu3DjMmjULhw8fxowZM/p8jr6eR8vXmhmdMPbYY4/hww8/xBdffIHMzEzl+3IquXekXlNTc01U35/U1FRUV1df8/3a2lrleVJTU695ncbGRnR0dAzqtUKZP65zc3Mzli1bhujoaGzevBlms7nH8/A6S/xxre12O8aNG4dbb70Vf/3rX3Hq1Cls3rxZeR5e6+Fd588//xznz59HXFwcTCaTsgR77733YtGiRcrz8DpL/P0+PWPGDJjNZpw9e1Z5Ht1f6+CWBFEo8Hq94g9/+EMxPT1dPHPmTJ+Pp6amiv/5n/+pfM/lcg25GHnfvn3K9woLC/sscrty5YoyZtOmTZopcuuPv66zw+EQ586dKy5cuFBsbW295nnC/TqLov//m+4+JiIiQvzDH/4giiKvtT+uc2VlpXjs2LEeXwDEX/3qV+KFCxdEUeR1FsXA/TctX2+5qDkcrjUDnTD0gx/8QLTb7eLOnTt7bDlsa2tTxjz33HOi3W4XP/jgA/HYsWPifffdd822xcrKSrGoqEh8/fXXRQDiP//5T7GoqEisr69XxixbtkycOnWquHfvXnHv3r1iXl5en9sWb7/9dvHw4cPiZ599JmZmZmpm22J//HGdnU6nOGfOHDEvL088d+5cj+fpveU5XK+zKPrnWp8/f1589tlnxYMHD4qXL18W9+zZI959991iQkKCWF1drTxPOF9rf7139IbrbC8P1+ssiv651ufOnRP/4z/+Qzxw4IB48eJF8eOPPxYnTpwoTp8+PazePxjohCEAfX7Jd62iKN0tPPPMM2JqaqpotVrFW2+9VTx27FiP53nmmWdu+Dz19fXi/fffL8bExIgxMTHi/ffff03m5/Lly+Ly5cvFiIgIMSEhQXz00UfF9vb2AF6B4PDHdZazZX19Xbx4URkXztdZFP1zrSsqKsQ77rhDTE5OFs1ms5iZmSmuWbNGuauVhfO19td7R1/P2zvQCefrLIr+udalpaXirbfeKiYkJIgWi0UcM2aM+Pjjj/e4GRVF/V9rQRRF0W/rYEREREQhhMXIREREpFsMdIiIiEi3GOgQERGRbjHQISIiIt1ioENERES6xUCHiIiIdIuBDhEREekWAx0iIiLSLQY6REREpFsMdIiIiEi3GOgQERGRbjHQISIiIt36/wHG7fLEx9OV+gAAAABJRU5ErkJggg==","text/plain":["<Figure size 640x480 with 1 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["#example of the imputed segment:\n","plt.plot(imputed_segments[0]['PLETH'][4000:4500])"]},{"cell_type":"markdown","id":"4f3603ec-c588-4fa8-a090-12f300335fe5","metadata":{"id":"4f3603ec-c588-4fa8-a090-12f300335fe5"},"source":["**Filtering Proper windows:**"]},{"cell_type":"code","execution_count":null,"id":"0549228e-10fa-4f7d-952e-4652e246f4a4","metadata":{"id":"0549228e-10fa-4f7d-952e-4652e246f4a4"},"outputs":[],"source":["def FindProperWindows(PPG, Windows_Table, window_id, proper_windows):\n","    \"\"\"\n","    Identifies and processes proper windows from the PPG data.\n","\n","    Parameters:\n","    - PPG (DataFrame): The PPG signal data.\n","    - Windows_Table (DataFrame): The table to store window information and results.\n","    - start_window_id (int): The starting window_id for this segment.\n","    - proper_windows (dict): Dictionary to store the proper windows identified.\n","\n","    Returns:\n","    - DataFrame: The updated Windows_Table with proper window information.\n","    - int: The updated window_id to continue from for the next segment.\n","    \"\"\"\n","    window_size = 12 * 100  # 12 seconds window with fs=100\n","    start_idx = 0\n","    window_id = window_id\n","    windows_list = []\n","\n","    wind = WindowFullProcess(PPG, by_value=True)\n","\n","    # Append information to list\n","    window_info = {\n","        'window_id': window_id,\n","        'start_index': start_idx,\n","        'end_index': start_idx + window_size,\n","        'ProperWindow': False  # Default value, will be updated later\n","    }\n","    windows_list.append(window_info)\n","\n","    Rejecting_Window(wind, windows_list[-1], window_id)\n","\n","    if windows_list[-1]['ProperWindow']:\n","        wind['window_index'] = window_id\n","        proper_windows[window_id] = wind  # Store the proper window directly in the dictionary\n","        print(window_id)\n","\n","    new_windows = pd.DataFrame(windows_list)\n","    Windows_Table = pd.concat([Windows_Table, new_windows], ignore_index=True)\n","\n","    Windows_Table['ProperWindow'] = Windows_Table['ProperWindow'].astype(bool)\n","    return Windows_Table, window_id\n"]},{"cell_type":"code","execution_count":null,"id":"c38eb786-0c13-47cd-9932-2038a84bbaf5","metadata":{"id":"c38eb786-0c13-47cd-9932-2038a84bbaf5"},"outputs":[],"source":["def Reset_Column(Table, col_name, col_ind, default):\n","    \"\"\"\n","    Resets a column in the DataFrame to a specified default value.\n","\n","    Parameters:\n","    - Table (DataFrame): The DataFrame to update.\n","    - col_name (str): The name of the column to reset.\n","    - col_ind (int): The index position to insert the column if it does not exist.\n","    - default: The default value to set for the column.\n","\n","    \"\"\"\n","    if col_name not in Table.columns:\n","        Table.insert(col_ind, col_name, default)\n","    else:\n","        Table[col_name] = default"]},{"cell_type":"code","execution_count":null,"id":"73c0f4c6-3c79-4346-9c08-9d0ab15aa398","metadata":{"id":"73c0f4c6-3c79-4346-9c08-9d0ab15aa398"},"outputs":[],"source":["def WindowFullProcess(wind, by_value=False, wind_id=None, fs=100, padding=250):\n","    \"\"\"\n","    Processes a window of PPG data by applying various filters and transformations.\n","\n","    Parameters:\n","    - wind (DataFrame): The window of PPG data to process.\n","    - by_value (bool): If True, processes a copy of the input data (default is False).\n","    - wind_id (optional): Identifier for the window.\n","    - fs (int): Sampling frequency (default is 100).\n","    - padding (int): Padding value for auto-correlation (default is 250).\n","\n","    Returns:\n","    - DataFrame: The processed window of PPG data.\n","    \"\"\"\n","    if by_value:\n","        wind = wind.copy()\n","\n","    PLETH = wind['PLETH']\n","\n","    # Initialize DataTime if not present\n","    if 'DataTime' not in wind.columns:\n","        wind['DataTime'] = np.arange(len(wind)) / fs\n","\n","    # Apply butter - lowpass filter:\n","    filtered = Segment_Filter(PLETH, ftype='low', fs=fs)\n","    wind['F_PLETH'] = filtered\n","\n","    # Removes the trend (Highpass filter) from the PPG signal:\n","    high_detrended = Segment_Trend_Removel(filtered, ftype='high', fs=fs)\n","    wind['HiDeTr_PLETH'] = high_detrended\n","\n","    # Computes the auto-correlation of the PPG signal with normalization:\n","    auto_correlation = Segment_AutoCorrelation(high_detrended, normalized=True, padding=int(1*fs)) # 1*fs=1[sec]\n","    wind['NoAuCo_PLETH'] = auto_correlation\n","\n","    # Detects min and max peaks in the PPG signal.\n","    get_peaks(wind, y_name='HiDeTr_PLETH', is_window=True, method='SDET', padding=int(0.5*fs)) # 0.5*fs=2[sec]\n","\n","    # Tests if the window contains consistent extremum points (maxima and minima).\n","    max_min_test(wind, to_raise=True)\n","\n","    if by_value:\n","        return wind"]},{"cell_type":"code","execution_count":null,"id":"5b42c93d-e5e2-4081-a669-e749822e52d7","metadata":{"id":"5b42c93d-e5e2-4081-a669-e749822e52d7"},"outputs":[],"source":["def Segment_Filter(y, ftype='low', fs=100):\n","    \"\"\"\n","    Applies a filter to the PPG signal.\n","\n","    Parameters:\n","    - y (Series): The PPG signal to filter.\n","    - ftype (str): The type of filter to apply ('low' for lowpass, 'SG' for Savitzky-Golay).\n","    - fs (int): Sampling frequency (default is 100).\n","\n","    Returns:\n","    - ndarray: The filtered PPG signal.\n","    \"\"\"\n","    if ftype == 'SG':\n","        filtered = signal.savgol_filter(y, window_length=19, polyorder=4)\n","    elif ftype == 'low':\n","        b, a = signal.butter(5, 10, 'lowpass', fs=fs)\n","        filtered = signal.filtfilt(b, a, y)\n","    return filtered"]},{"cell_type":"code","execution_count":null,"id":"c15ce720-53e8-4495-8026-a74c7276081b","metadata":{"id":"c15ce720-53e8-4495-8026-a74c7276081b"},"outputs":[],"source":["def Segment_Trend_Removel(y, ftype='linar', fs=100):\n","    \"\"\"\n","    Removes the trend from the PPG signal.\n","\n","    Parameters:\n","    - y (Series): The PPG signal to detrend.\n","    - ftype (str): The type of detrending to apply ('linar' for linear, 'high' for highpass).\n","    - fs (int): Sampling frequency (default is 100).\n","\n","    Returns:\n","    - ndarray: The detrended PPG signal.\n","    \"\"\"\n","    if ftype == 'linar':\n","        detrended = signal.detrend(y)\n","    elif ftype == 'high':\n","        b, a = signal.butter(5, 0.6, 'highpass', fs=fs)\n","        detrended = signal.filtfilt(b, a, y)\n","    return detrended"]},{"cell_type":"code","execution_count":null,"id":"8d7e10e5-7f27-4300-8db6-7a2451a28dab","metadata":{"id":"8d7e10e5-7f27-4300-8db6-7a2451a28dab"},"outputs":[],"source":["def Segment_AutoCorrelation(y, normalized=False, padding=2.5*100):\n","    \"\"\"\n","    Computes the auto-correlation of the PPG signal.\n","\n","    Parameters:\n","    - y (Series): The PPG signal to auto-correlate.\n","    - normalized (bool): If True, normalizes the auto-correlation (default is False).\n","    - padding (int): Padding value for auto-correlation (default is 250).\n","\n","    Returns:\n","    - Series: The auto-correlated PPG signal with padding.\n","    \"\"\"\n","    cuted_y = y[int(padding//2):-int(padding//2)]\n","\n","    corr = signal.correlate(cuted_y, cuted_y, mode='same')\n","    if normalized:\n","        a = np.arange(1, corr.size + 1)\n","        f = 1 - corr.size % 2\n","        b = np.concatenate([a, a[-2::-1]])[corr.size // 2 - f:-corr.size // 2]\n","        corr /= b\n","    corr /= corr.max()\n","    paded_corr = y.copy()\n","    paded_corr[:int(padding//2)] = np.nan\n","    paded_corr[-int(padding//2):] = np.nan\n","    paded_corr[int(padding//2):-int(padding//2)] = corr\n","    return paded_corr"]},{"cell_type":"code","execution_count":null,"id":"6f05e33f-e49d-4bc1-9965-ab6a0eca3cde","metadata":{"id":"6f05e33f-e49d-4bc1-9965-ab6a0eca3cde"},"outputs":[],"source":["def get_peaks(patient_PPG, y_name='HiDeTr_PLETH', is_window = False , padding=250, method='SDET'):\n","    \"\"\"\n","    Detects peaks in the PPG signal.\n","\n","    Parameters:\n","    - patient_PPG (DataFrame): The PPG data.\n","    - y_name (str): The name of the column containing the PPG signal.\n","    - is_window (bool): If True, processes the data as a window.\n","    - padding (int): Padding value for peak detection (default is 250).\n","    - method (str): The method for peak detection ('SDET' or 'hp').\n","\n","    \"\"\"\n","    # Detects maximum peaks in the PPG signal.\n","    Patient_max_peaks(patient_PPG, y_name=y_name, is_window=is_window, padding=padding, method=method)\n","\n","    # Detects minimum peaks in the PPG signal.\n","    Patient_min_peaks(patient_PPG, y_name=y_name, is_window=is_window, padding=padding)\n","\n","    # Rejects invalid maximum peaks in the PPG signal.\n","    Patient_reject_invalid_max_peaks(patient_PPG, y_name=y_name, is_window=is_window)"]},{"cell_type":"code","execution_count":null,"id":"7d3561ad-ccb1-44cd-8f0e-12ab84cf1904","metadata":{"id":"7d3561ad-ccb1-44cd-8f0e-12ab84cf1904"},"outputs":[],"source":["def Patient_max_peaks(patient_PPG, y_name='HiDeTr_PLETH', is_window = False, padding=250, method='SDET'):\n","    \"\"\"\n","    Detects maximum peaks in the PPG signal.\n","\n","    Parameters:\n","    - patient_PPG (DataFrame): The PPG data.\n","    - y_name (str): The name of the column containing the PPG signal.\n","    - is_window (bool): If True, processes the data as a window.\n","    - padding (int): Padding value for peak detection (default is 250).\n","    - method (str): The method for peak detection ('SDET' or 'hp').\n","\n","    \"\"\"\n","    if 'is_max_peak' not in patient_PPG.columns:\n","        col_ind = int(np.argmax(patient_PPG.columns == y_name))\n","        patient_PPG.insert(col_ind, 'is_max_peak', False)\n","    else:\n","        patient_PPG['is_max_peak'] = False\n","\n","    if is_window:\n","        continuous_groups = [list(patient_PPG.index)]\n","    else:\n","        print('Didnt get proper window')\n","\n","    for i, index in enumerate(continuous_groups):\n","\n","        y = patient_PPG.loc[index, y_name]\n","\n","        max_peaks = Segment_max_peaks(y, method=method)\n","        if len(max_peaks):\n","            patient_PPG.loc[max_peaks, 'is_max_peak'] = True"]},{"cell_type":"code","execution_count":null,"id":"a32ad332-6327-49da-8f74-2a96bf20f30e","metadata":{"id":"a32ad332-6327-49da-8f74-2a96bf20f30e"},"outputs":[],"source":["def Segment_max_peaks(y, fs=100, method='SDET'):\n","    \"\"\"\n","    Detects maximum peaks in a segment of the PPG signal.\n","\n","    Parameters:\n","    - y (Series): The PPG signal.\n","    - fs (int): Sampling frequency (default is 100).\n","    - method (str): The method for peak detection ('SDET' or 'hp').\n","\n","    Returns:\n","    - ndarray: Indices of the maximum peaks.\n","    \"\"\"\n","    if method == 'hp':\n","        try:\n","            warnings.filterwarnings(\"ignore\")\n","            working_data, _ = hp.process(y.values, fs)\n","            warnings.filterwarnings(\"default\")\n","        except:\n","            max_peaks = np.array([])\n","        else:\n","            # Extract the 'peaklist' from the 'working_data' dictionary.\n","            max_peaks = np.array(working_data['peaklist'])\n","            max_peaks = y.index[max_peaks]\n","    elif method == 'SDET':\n","        maximum_heart_beat_frequency = 1.5 # [Hz]1.5 is lower the 1.67 Hz which is 100 bit per min which is the maximum hart bit\n","        maximum_signal_frequency = 10 #[Hz]\n","        steps = 10 - 1\n","        lowpass_fre_arr = np.linspace(maximum_heart_beat_frequency, maximum_signal_frequency, steps, endpoint=False)\n","        half_wind_size = int(1/(100/60)/4*fs) #[(1/(bit/min))/4*fs] = [(1/max_frec)/4*fs]\n","        peaks_indexes = SDET(y.values, lowpass_fre_arr, half_wind_size, fs=fs)\n","        if len(peaks_indexes):\n","            max_peaks = y.index[peaks_indexes]\n","        else:\n","            max_peaks = np.array([])\n","\n","    return max_peaks"]},{"cell_type":"code","execution_count":null,"id":"228805bf-f4e6-4282-b669-8f0317391f37","metadata":{"id":"228805bf-f4e6-4282-b669-8f0317391f37"},"outputs":[],"source":["def SDET(y, lowpass_fre_arr, half_wind_size, fs=100, visual=False):\n","    \"\"\"\n","    Applies the Successive Decomposition and Extraction of Peaks (SDET) method to identify peaks in the PPG signal.\n","\n","    Parameters:\n","    - y (ndarray): The PPG signal to process.\n","    - lowpass_fre_arr (ndarray): Array of lowpass filter frequencies for successive filtering.\n","    - half_wind_size (int): Half the size of the window used for local peak detection.\n","    - fs (int): Sampling frequency (default is 100).\n","    - visual (bool): If True, visualizes the filtering and peak detection steps (default is False).\n","\n","    Returns:\n","    - ndarray: The indices of the identified peaks in the PPG signal.\n","    \"\"\"\n","    filtered_arr = []\n","    for lowpass_fre in lowpass_fre_arr:\n","        b, a = signal.butter(5, lowpass_fre, 'lowpass', fs=fs)\n","        filtered = signal.filtfilt(b, a, y)\n","        filtered_arr.append(filtered)\n","    filtered_arr.append(y)\n","    current_peaks_indexes, _ = signal.find_peaks(filtered_arr[0])\n","\n","    if visual:\n","        t = np.arange(y.size)\n","        plt.figure()\n","        plt.plot(t, y)\n","        plt.plot(t, filtered_arr[0])\n","        plt.plot(t[current_peaks_indexes], filtered_arr[0][current_peaks_indexes], '.k')\n","        plt.title(f'step: {0}   LPF: {lowpass_fre_arr[0]:.2f}[Hz]')\n","\n","    for step_i, filtered in enumerate(filtered_arr[1:], 1):\n","        last_peaks_indexes = np.array(current_peaks_indexes, dtype=int)\n","\n","        potential_peaks_indexes, _ = signal.find_peaks(filtered)\n","\n","        filtered_gradient = np.gradient(filtered)\n","        direction = np.sign(filtered_gradient[last_peaks_indexes])\n","\n","        mid_peaks_indexes = []\n","        for d_i, p_i in zip(direction, last_peaks_indexes):\n","            dis = np.abs(potential_peaks_indexes - p_i)\n","            chosen_peak = None\n","            if dis.min() == 0:\n","                chosen_peak = potential_peaks_indexes[dis.argmin()]\n","            else:\n","                closest_peak_ind = potential_peaks_indexes[dis.argmin()]\n","                if closest_peak_ind - p_i > 0:\n","                    closest_peaks_ind = [dis.argmin()-1, dis.argmin()]\n","                else:\n","                    closest_peaks_ind = [dis.argmin(), dis.argmin()+1]\n","                if closest_peaks_ind[0] < 0:\n","                    if d_i == 1:\n","                        closest_peak_ind = closest_peaks_ind[1]\n","                        chosen_peak = potential_peaks_indexes[closest_peak_ind]\n","                elif closest_peaks_ind[1] >= len(potential_peaks_indexes):\n","                    if d_i == -1:\n","                        closest_peak_ind = closest_peaks_ind[0]\n","                        chosen_peak = potential_peaks_indexes[closest_peak_ind]\n","                else:\n","                    closest_peaks = potential_peaks_indexes[closest_peaks_ind]\n","                    chosen_peak = closest_peaks[int(d_i == 1)]\n","            if chosen_peak is not None:\n","                mid_peaks_indexes.append(chosen_peak)\n","        mid_peaks_indexes = np.unique(mid_peaks_indexes)\n","\n","        current_peaks_indexes = []\n","        for m_i in mid_peaks_indexes:\n","            logical_left = potential_peaks_indexes >= m_i - half_wind_size\n","            logical_right = potential_peaks_indexes <= m_i + half_wind_size\n","            bool_ind = np.logical_and(logical_left, logical_right)\n","            local_peaks = potential_peaks_indexes[bool_ind]\n","            chosen_peak = local_peaks[np.argmax(filtered[local_peaks])]\n","            current_peaks_indexes.append(chosen_peak)\n","        current_peaks_indexes = np.unique(current_peaks_indexes)\n","\n","        if visual:\n","            plt.figure()\n","            if step_i < len(lowpass_fre_arr):\n","                lowpass_fre = lowpass_fre_arr[step_i]\n","                plt.plot(t, y)\n","                plt.title(f'step: {step_i}   LPF: {lowpass_fre:.2f}[Hz]')\n","            else:\n","                plt.title('Final Results')\n","            plt.plot(t, filtered)\n","            plt.plot(t[last_peaks_indexes], filtered[last_peaks_indexes], 'xb')\n","            plt.plot(t[potential_peaks_indexes], filtered[potential_peaks_indexes], 'oy')\n","            plt.plot(t[mid_peaks_indexes], filtered[mid_peaks_indexes], '*b')\n","            plt.plot(t[current_peaks_indexes], filtered[current_peaks_indexes], '.k')\n","    return current_peaks_indexes"]},{"cell_type":"code","execution_count":null,"id":"6e5f9494-1ac6-44ff-86ae-2972f363ed9a","metadata":{"id":"6e5f9494-1ac6-44ff-86ae-2972f363ed9a"},"outputs":[],"source":["def Patient_min_peaks(patient_PPG, y_name='HiDeTr_PLETH', is_window = False, padding = 250):\n","    \"\"\"\n","    Detects minimum peaks in the PPG signal.\n","\n","    Parameters:\n","    - patient_PPG (DataFrame): The PPG data.\n","    - y_name (str): The name of the column containing the PPG signal.\n","    - is_window (bool): If True, processes the data as a window (default is False).\n","    - padding (int): Padding value for peak detection (default is 250).\n","\n","    \"\"\"\n","    if 'is_min_peak' not in patient_PPG.columns:\n","        col_ind = int(np.argmax(patient_PPG.columns == 'is_max_peak'))\n","        patient_PPG.insert(col_ind, 'is_min_peak', False)\n","    else:\n","        patient_PPG['is_min_peak'] = False\n","\n","    if is_window:\n","        continuous_groups = [list(patient_PPG.index)]\n","    else:\n","        print('Didnt get proper window')\n","\n","    for index in continuous_groups:\n","\n","        y = patient_PPG.loc[index, y_name]\n","\n","        is_max_peak = patient_PPG.loc[index, 'is_max_peak']\n","\n","        max_peaks_index = is_max_peak[is_max_peak].index\n","        if len(max_peaks_index):\n","            min_peaks = Segment_min_peaks(y, max_peaks_index)\n","\n","            if len(min_peaks):\n","                patient_PPG.loc[min_peaks, 'is_min_peak'] = True"]},{"cell_type":"code","execution_count":null,"id":"6b100613-dc60-4ff2-a626-6d7d97bfa1d6","metadata":{"id":"6b100613-dc60-4ff2-a626-6d7d97bfa1d6"},"outputs":[],"source":["def Segment_min_peaks(y, max_peaks_index):\n","    \"\"\"\n","    Detects minimum peaks in a segment of the PPG signal between maximum peaks.\n","\n","    Parameters:\n","    - y (Series): The PPG signal.\n","    - max_peaks_index (list): Indices of the maximum peaks.\n","\n","    Returns:\n","    - ndarray: Indices of the minimum peaks.\n","    \"\"\"\n","    min_peaks = []\n","\n","    first_point_ind = y.index[0]\n","    last_point_ind = y.index[-1]\n","\n","    max_peaks_index = list(max_peaks_index)\n","    if first_point_ind < max_peaks_index[0]:\n","        max_peaks_index.insert(0, first_point_ind)\n","    if last_point_ind > max_peaks_index[-1]:\n","        max_peaks_index.append(last_point_ind)\n","\n","    # Iterates over pairs of adjacent maximum peaks using a loop.\n","    for peak0_i, peak1_i in zip(max_peaks_index[:-1], max_peaks_index[1:]):\n","        # Find the index of the minimum value within the corresponding data range between the two maximum peaks and appends\n","        # it to 'min_peaks'.\n","\n","        subsegment_i = y.loc[peak0_i:peak1_i]\n","        potential_min_peaks_indexes, _ = signal.find_peaks(-subsegment_i)\n","        if len(potential_min_peaks_indexes):\n","\n","            potential_min_peaks_indexes = subsegment_i.index[potential_min_peaks_indexes]\n","            right_potential_min_index = max(potential_min_peaks_indexes)\n","            right_potential_min = subsegment_i.loc[right_potential_min_index]\n","\n","            if right_potential_min < y.loc[[peak0_i, peak1_i]].min():\n","                min_peaks.append(right_potential_min_index)\n","\n","    min_peaks = np.array(min_peaks)\n","    return min_peaks"]},{"cell_type":"code","execution_count":null,"id":"c65f1c46-88f9-498d-8770-f385e3125432","metadata":{"id":"c65f1c46-88f9-498d-8770-f385e3125432"},"outputs":[],"source":["def Patient_reject_invalid_max_peaks(patient_PPG, y_name='HiDeTr_PLETH', is_window = False):\n","    \"\"\"\n","    Rejects invalid maximum peaks in the PPG signal.\n","\n","    Parameters:\n","    - patient_PPG (DataFrame): The PPG data.\n","    - y_name (str): The name of the column containing the PPG signal.\n","    - is_window (bool): If True, processes the data as a window (default is False).\n","\n","    \"\"\"\n","    if is_window:\n","        continuous_groups = [list(patient_PPG.index)]\n","    else:\n","        print('Didnt get proper window')\n","\n","    for index in continuous_groups:\n","\n","        y = patient_PPG.loc[index, y_name]\n","\n","        is_min_peak = patient_PPG.loc[index, 'is_min_peak']\n","        is_max_peak = patient_PPG.loc[index, 'is_max_peak']\n","        max_peaks_index = is_max_peak[is_max_peak].index\n","\n","        if len(max_peaks_index):\n","            index2reject = Segment_reject_invalid_max_peaks(y, max_peaks_index, is_min_peak)\n","            if len(index2reject):\n","                patient_PPG.loc[index2reject, 'is_max_peak'] = False"]},{"cell_type":"code","execution_count":null,"id":"b84a732f-6047-418b-b85a-0bdea1ea6076","metadata":{"id":"b84a732f-6047-418b-b85a-0bdea1ea6076"},"outputs":[],"source":["def Patient_reject_invalid_max_peaks(patient_PPG, y_name='HiDeTr_PLETH', is_window = False):\n","    \"\"\"\n","    Rejects invalid maximum peaks in the PPG signal.\n","\n","    Parameters:\n","    - patient_PPG (DataFrame): The PPG data.\n","    - y_name (str): The name of the column containing the PPG signal.\n","    - is_window (bool): If True, processes the data as a window (default is False).\n","\n","    \"\"\"\n","    if is_window:\n","        continuous_groups = [list(patient_PPG.index)]\n","    else:\n","        print('Didnt get proper window')\n","\n","    for index in continuous_groups:\n","\n","        y = patient_PPG.loc[index, y_name]\n","\n","        is_min_peak = patient_PPG.loc[index, 'is_min_peak']\n","        is_max_peak = patient_PPG.loc[index, 'is_max_peak']\n","        max_peaks_index = is_max_peak[is_max_peak].index\n","\n","        if len(max_peaks_index):\n","            index2reject = Segment_reject_invalid_max_peaks(y, max_peaks_index, is_min_peak)\n","            if len(index2reject):\n","                patient_PPG.loc[index2reject, 'is_max_peak'] = False"]},{"cell_type":"code","execution_count":null,"id":"f78b21c4-54d9-412a-a5f4-ea6a45833f1b","metadata":{"id":"f78b21c4-54d9-412a-a5f4-ea6a45833f1b"},"outputs":[],"source":["def max_min_test(wind, to_raise=False):\n","    \"\"\"\n","    Tests if the window contains consistent extremum points (maxima and minima).\n","\n","    Parameters:\n","    - wind (DataFrame): The window of PPG data.\n","    - to_raise (bool): If True, raises an exception if the test fails (default is False).\n","\n","    Returns:\n","    - bool: True if the extremum points are consistent, False otherwise.\n","    \"\"\"\n","    is_max_peak = wind['is_max_peak']\n","    is_min_peak = wind['is_min_peak']\n","\n","    max_as_2 = is_max_peak.astype('int')*2\n","    min_as_1 = is_min_peak.astype('int')\n","    peaks = min_as_1 + max_as_2\n","\n","    only_peaks = peaks[peaks!=0]\n","    cond = (only_peaks.diff().abs().iloc[1:] == 1).all()\n","    if to_raise:\n","        if not cond:\n","            raise Exception(\"max_min_test: the window includes inconsistent extremum points\")\n","\n","    else:\n","        return cond"]},{"cell_type":"code","execution_count":null,"id":"bcaf03b6-f96b-4e27-9875-33cbcb1f2b27","metadata":{"id":"bcaf03b6-f96b-4e27-9875-33cbcb1f2b27"},"outputs":[],"source":["def Segment_reject_invalid_max_peaks(y, max_peaks_index, is_min_peak):\n","    \"\"\"\n","    Identifies invalid maximum peaks in a segment of the PPG signal.\n","\n","    Parameters:\n","    - y (Series): The PPG signal.\n","    - max_peaks_index (list): Indices of the maximum peaks.\n","    - is_min_peak (Series): Boolean series indicating the positions of minimum peaks.\n","\n","    Returns:\n","    - list: Indices of the invalid maximum peaks to be rejected.\n","    \"\"\"\n","    current_min_exist = 1\n","    potantional_index2reject = []\n","    for max_peak0_i, max_peak1_i in zip(max_peaks_index[:-1], max_peaks_index[1:]):\n","\n","        previous_min_exist = current_min_exist\n","        current_min_exist = is_min_peak.loc[max_peak0_i: max_peak1_i].sum()\n","\n","        if current_min_exist == 0:\n","            if previous_min_exist == 0:\n","                potantional_index2reject[-1].update({max_peak0_i, max_peak1_i})\n","            else:\n","                potantional_index2reject.append({max_peak0_i, max_peak1_i})\n","\n","    index2reject = []\n","    for ind_set in potantional_index2reject:\n","        ind = np.array(sorted(list(ind_set))) #Potential indexes of rejection\n","        index2reject_temp = y.loc[ind].argsort().values[:-1]\n","        index2reject.extend(ind[index2reject_temp])\n","\n","    return index2reject"]},{"cell_type":"code","execution_count":null,"id":"0a60adb1-9cf8-4c17-a796-eb3d15437dd7","metadata":{"id":"0a60adb1-9cf8-4c17-a796-eb3d15437dd7"},"outputs":[],"source":["def max_min_test(wind, to_raise=False):\n","    \"\"\"\n","    Tests if the window contains consistent extremum points (maxima and minima).\n","\n","    Parameters:\n","    - wind (DataFrame): The window of PPG data.\n","    - to_raise (bool): If True, raises an exception if the test fails (default is False).\n","\n","    Returns:\n","    - bool: True if the extremum points are consistent, False otherwise.\n","    \"\"\"\n","    is_max_peak = wind['is_max_peak']\n","    is_min_peak = wind['is_min_peak']\n","\n","    max_as_2 = is_max_peak.astype('int')*2\n","    min_as_1 = is_min_peak.astype('int')\n","    peaks = min_as_1 + max_as_2\n","\n","    only_peaks = peaks[peaks!=0]\n","    cond = (only_peaks.diff().abs().iloc[1:] == 1).all()\n","    if to_raise:\n","        if not cond:\n","            raise Exception(\"max_min_test: the window includes inconsistent extremum points\")\n","\n","    else:\n","        return cond"]},{"cell_type":"code","execution_count":null,"id":"1b088696-9941-45ae-9564-646b11a1438b","metadata":{"id":"1b088696-9941-45ae-9564-646b11a1438b"},"outputs":[],"source":["def Rejecting_Window(PPG_window, window_info, window_id):\n","    \"\"\"\n","    Evaluates if a window of PPG data should be rejected based on various distortion criteria.\n","\n","    Parameters:\n","    - PPG_window (DataFrame): The window of PPG data.\n","    - window_info (dict): The dictionary to store window evaluation results.\n","    - window_id (int): Identifier for the window.\n","    \"\"\"\n","    cycles_number = Get_Cycles_Number(PPG_window)\n","    window_info['Cycles_Number'] = cycles_number\n","    if cycles_number >= 4:\n","\n","        distorted_pearson, pearson_mean = Distorted_By_Corr_Min_Mean(PPG_window['is_min_peak'], PPG_window['HiDeTr_PLETH'], th=0.4)\n","        window_info['Corr_Min_Mean'] = pearson_mean\n","        window_info['Distorted_By_Corr_Min_Mean'] = distorted_pearson\n","\n","        distorted_autocorr, distorted_max, distorted_min = Distorted_By_Autocorr(PPG_window, pearson_mean, th=0.7)\n","        window_info['Autocorr_Max_Cond'] = distorted_max\n","        window_info['Autocorr_Min_Cond'] = distorted_min\n","        window_info['Distorted_By_Autocorr'] = distorted_autocorr\n","\n","        window_info['ProperWindow'] = not (distorted_autocorr or distorted_pearson)\n","\n","    else:\n","        window_info['ProperWindow'] = False"]},{"cell_type":"code","execution_count":null,"id":"05ed6a24-1dec-42bd-a702-07da34adb37d","metadata":{"id":"05ed6a24-1dec-42bd-a702-07da34adb37d"},"outputs":[],"source":["def Get_Cycles_Number(PPG_window):\n","    \"\"\"\n","    Calculates the number of cycles (maximum peaks) in a window of PPG data.\n","\n","    Parameters:\n","    - PPG_window (DataFrame): The window of PPG data.\n","\n","    Returns:\n","    - int: The number of cycles (maximum peaks) in the PPG window.\n","    \"\"\"\n","    _, max_peak = Get_Cycles_Peaks(PPG_window)\n","    return len(max_peak)"]},{"cell_type":"code","execution_count":null,"id":"e2d3c2c0-1037-4ee1-b314-6ff9acee5465","metadata":{"id":"e2d3c2c0-1037-4ee1-b314-6ff9acee5465"},"outputs":[],"source":["def Get_Cycles_Peaks(PPG_window):\n","    \"\"\"\n","    Identifies the indices of maximum and minimum peaks in a window of PPG data.\n","\n","    Parameters:\n","    - PPG_window (DataFrame): The window of PPG data.\n","\n","    Returns:\n","    - tuple: Two lists containing the indices of the minimum and maximum peaks, respectively.\n","    \"\"\"\n","    max_min_test(PPG_window, to_raise=True)\n","\n","    is_max_peak = PPG_window['is_max_peak']\n","    max_peak = is_max_peak[is_max_peak].index.to_list()\n","\n","    is_min_peak = PPG_window['is_min_peak']\n","    min_peak = is_min_peak[is_min_peak].index.to_list()\n","\n","    if len(min_peak) >= 2 and len(max_peak) >= 1:\n","        if len(min_peak) == len(max_peak)+1:\n","            pass\n","        elif len(min_peak) == len(max_peak)-1:\n","            max_peak = max_peak[1:-1]\n","        elif len(min_peak) == len(max_peak) and min_peak[0] < max_peak[0]:\n","            max_peak = max_peak[:-1]\n","        elif len(min_peak) == len(max_peak) and min_peak[0] > max_peak[0]:\n","            max_peak = max_peak[1:]\n","        else:\n","            raise Exception(\"Get_Cycles_Peaks: the window includes inconsistent extremum points\")\n","    else:\n","        min_peak = []  # empty list\n","        max_peak = []  # empty list\n","\n","    return min_peak, max_peak"]},{"cell_type":"code","execution_count":null,"id":"a561a28a-e7b5-486d-ba55-c7a9775d235e","metadata":{"id":"a561a28a-e7b5-486d-ba55-c7a9775d235e"},"outputs":[],"source":["def Distorted_By_Corr_Min_Mean(is_min_peak, HiDeTr, th=0.4, padding=100, t_axis=np.arange(1000)):\n","    \"\"\"\n","    Checks if the PPG signal is distorted based on the correlation of normalized cycles.\n","\n","    Parameters:\n","    - is_min_peak (Series): Boolean series indicating the positions of minimum peaks.\n","    - HiDeTr (Series): Detrended PPG signal.\n","    - th (float): Threshold for correlation (default is 0.4).\n","    - padding (int): Padding value for correlation (default is 100).\n","    - t_axis (ndarray): Time axis for interpolation (default is np.arange(1000)).\n","\n","    Returns:\n","    - tuple: Boolean indicating if the signal is distorted and the minimum mean correlation value.\n","    \"\"\"\n","    is_min_peak = is_min_peak.iloc[padding // 2 : -padding // 2]\n","    HiDeTr = HiDeTr.iloc[padding // 2 : -padding // 2]\n","\n","    min_peak_index = is_min_peak[is_min_peak].index\n","\n","    distorted = False\n","\n","    normalized_cycles = []\n","    for i0, i1 in zip(min_peak_index[:-1], min_peak_index[1:]):\n","        sub_HiDeTr = HiDeTr.loc[i0:i1].copy()\n","\n","        f = interpolate.interp1d(t_axis[:sub_HiDeTr.size], sub_HiDeTr, kind=\"cubic\")\n","        new_t_axis = np.linspace(0, sub_HiDeTr.size - 1, 100)\n","        resampleed_sub_HiDeTr = f(new_t_axis)\n","\n","        resampleed_sub_HiDeTr -= resampleed_sub_HiDeTr.min()\n","        resampleed_sub_HiDeTr /= resampleed_sub_HiDeTr.max()\n","\n","        normalized_cycles.append(resampleed_sub_HiDeTr)\n","\n","    correlation_matrix = np.zeros((len(normalized_cycles), len(normalized_cycles)))\n","    for i, y1 in enumerate(normalized_cycles):\n","        for j, y2 in enumerate(normalized_cycles):\n","            r, _ = pearsonr(y1, y2)\n","            correlation_matrix[i, j] = r\n","\n","    pearson_mean = (correlation_matrix.sum(axis=0) - 1) / (correlation_matrix.shape[0] - 1)\n","    pearson_min_mean = pearson_mean.min()\n","    distorted = pearson_min_mean < th\n","\n","    return distorted, pearson_min_mean"]},{"cell_type":"code","execution_count":null,"id":"03f08c0b-9392-44ca-b0cc-27378685009c","metadata":{"id":"03f08c0b-9392-44ca-b0cc-27378685009c"},"outputs":[],"source":["def Distorted_By_Autocorr(wind, pearson_min_mean, th=0.7):\n","    \"\"\"\n","    Checks if the PPG signal is distorted based on auto-correlation and minimum-mean correlation.\n","\n","    Parameters:\n","    - wind (DataFrame): The window of PPG data.\n","    - pearson_min_mean (float): Minimum mean correlation value.\n","    - th (float): Threshold for auto-correlation peaks (default is 0.7).\n","\n","    Returns:\n","    - tuple: Boolean indicating if the signal is distorted, and the distortion conditions for max and min peaks.\n","    \"\"\"\n","    distorted_max = Distorted_1_Identification(wind['is_max_peak'], wind['NoAuCo_PLETH'], th=th)\n","    distorted_min = Distorted_1_Identification(wind['is_min_peak'], wind['NoAuCo_PLETH'], th=th)\n","\n","    if distorted_min == 0 or distorted_max == 0:\n","        distorted = False\n","    elif distorted_min == 1 or distorted_max == 1:\n","        distorted = pearson_min_mean < th\n","    else:\n","        distorted = True\n","\n","    return distorted, distorted_max, distorted_min"]},{"cell_type":"code","execution_count":null,"id":"c642fdbb-2ab0-46d6-8bf7-602ff4693831","metadata":{"id":"c642fdbb-2ab0-46d6-8bf7-602ff4693831"},"outputs":[],"source":["def Distorted_1_Identification(is_peak, AuCo, padding=100, th=0.7):\n","    \"\"\"\n","    Identifies if the PPG signal is distorted based on auto-correlation peaks.\n","\n","    Parameters:\n","    - is_peak (Series): Boolean series indicating the positions of peaks.\n","    - AuCo (Series): Auto-correlation values of the PPG signal.\n","    - padding (int): Padding value for auto-correlation (default is 100).\n","    - th (float): Threshold for auto-correlation peaks (default is 0.7).\n","\n","    Returns:\n","    - int: Distortion condition (0 for no distortion, 1-3 for different types of distortion).\n","    \"\"\"\n","    is_peak = is_peak.iloc[padding // 2 : -padding // 2]\n","    AuCo = AuCo.iloc[padding // 2 : -padding // 2]\n","\n","    ind_peaks_in_AuCo, _ = signal.find_peaks(AuCo, prominence=0.15)\n","    ind_peaks_in_AuCo = AuCo.index[ind_peaks_in_AuCo]\n","\n","    peak_index = is_peak[is_peak].index\n","\n","    distorted = 0\n","    for i0, i1 in zip(peak_index[:-1], peak_index[1:]):\n","        bool_ind = np.logical_and((ind_peaks_in_AuCo > i0), (ind_peaks_in_AuCo <= i1))\n","        peaks_in_sub_AuCo = ind_peaks_in_AuCo[bool_ind]\n","\n","        sub_AuCo = AuCo.loc[i0:i1]\n","        if len(peaks_in_sub_AuCo) == 1:\n","            peak_ind = peaks_in_sub_AuCo[0]\n","            if sub_AuCo.loc[peak_ind] < th:\n","                distorted = 1\n","                break\n","        elif len(peaks_in_sub_AuCo) == 0:\n","            distorted = 2\n","            break\n","        elif len(peaks_in_sub_AuCo) > 1:\n","            distorted = 3\n","            break\n","    return distorted"]},{"cell_type":"code","execution_count":null,"id":"ea0b2dc7-3ece-4d7c-84d0-4561a152f13b","metadata":{"id":"ea0b2dc7-3ece-4d7c-84d0-4561a152f13b"},"outputs":[],"source":["# Initialize the Windows_Table\n","train_Windows_Table = pd.DataFrame()\n","test_Windows_Table = pd.DataFrame()\n","\n","# Initialize window_id\n","train_window_id = 0\n","test_window_id = 0\n","\n","# Initialize an empty dictionary to store proper windows\n","train_proper_windows = {}\n","test_proper_windows = {}\n","\n","# Process each PPG data segment in wind_dict\n","for i,PPG in enumerate(imputed_train_segments):\n","    train_Windows_Table, train_window_id = FindProperWindows(PPG, train_Windows_Table, i, train_proper_windows)\n","\n","for i,PPG in enumerate(imputed_test_segments):\n","    test_Windows_Table, test_window_id = FindProperWindows(PPG, test_Windows_Table, i, test_proper_windows)\n","\n","# Display the number of proper windows\n","print(\"Number of train proper windows in dict:\", len(train_proper_windows))\n","print(f\"Number of train Proper Windows in the windows table: {train_Windows_Table['ProperWindow'].sum()}\")\n","print(\"Number of test proper windows in dict:\", len(test_proper_windows))\n","print(f\"Number of test Proper Windows in the windows table: {test_Windows_Table['ProperWindow'].sum()}\")"]},{"cell_type":"markdown","id":"f7703d8f-2666-400a-ad7b-c5d502d1e3e9","metadata":{"id":"f7703d8f-2666-400a-ad7b-c5d502d1e3e9"},"source":["**preprocess before feature selection:**"]},{"cell_type":"code","execution_count":null,"id":"49a05656-6fc6-47f5-949a-4a5f29d39d03","metadata":{"id":"49a05656-6fc6-47f5-949a-4a5f29d39d03"},"outputs":[],"source":["def normalize_data(data, max_peaks, min_peaks):\n","    '''\n","    This function normalizes the amplitude and time values of a given signal based on detected peak points.\n","\n","    Parameters:\n","    - data (array-like): The input signal to be normalized.\n","    - max_peaks (list or array): Indices of detected maximum peaks in the signal.\n","    - min_peaks (list or array): Indices of detected minimum peaks in the signal.\n","\n","    The function performs the following steps:\n","    1. Adjusts the signal to start from the first minimum peak and end at the last minimum peak.\n","    2. Normalizes the signal's amplitude between each pair of consecutive peaks.\n","    3. Normalizes time between these peaks, ensuring a smooth transition across the signal.\n","\n","    Returns:\n","    - norm_data (array-like): The amplitude-normalized signal.\n","    - norm_time (array-like): The time-normalized signal.\n","    - all_peaks (array): Combined and sorted max and min peak indices within the adjusted range.\n","    - max_peaks (array): Adjusted max peak indices within the valid range.\n","    - min_peaks (array): Adjusted min peak indices within the valid range.\n","    '''\n","    # Convert lists to NumPy arrays for element-wise operations\n","    max_peaks = np.array(max_peaks)\n","    min_peaks = np.array(min_peaks)\n","\n","    # Ensure the data starts with the first Min peak and ends with the last Min peak\n","    start_index = min_peaks[0]\n","    end_index = min_peaks[-1]\n","\n","    # Adjust the peaks to be within the new range\n","    max_peaks = max_peaks[(max_peaks > start_index) & (max_peaks < end_index)]\n","    min_peaks = min_peaks[(min_peaks >= start_index) & (min_peaks <= end_index)]\n","\n","    norm_data = np.zeros_like(data)\n","    norm_time = norm_data.copy()\n","    all_peaks = np.sort(np.concatenate([max_peaks, min_peaks], axis=0))\n","    for i, (peak0, peak1) in enumerate(zip(all_peaks[:-1], all_peaks[1:])):\n","        window = data[peak0:peak1]\n","        if peak0 == peak1 or window.size == 0:\n","            continue\n","\n","        # Normalize the amplitude values\n","        window -= window.min()\n","        window /= window.max()\n","\n","        # Calculate normalized time, ensuring it does not generate all zeros\n","        if window.size > 1:\n","            norm_time[peak0:peak1] = np.linspace(0.5 * i, 0.5 * (i + 1), window.size)\n","        else:\n","            norm_time[peak0:peak1] = 0.5 * (i + 1)  # Assign a single value if window size is 1\n","\n","        norm_data[peak0:peak1] = window\n","\n","    return norm_data, norm_time, all_peaks, max_peaks, min_peaks"]},{"cell_type":"code","execution_count":null,"id":"ca58e0be-eb90-49ad-a1a7-e0661dc888b0","metadata":{"id":"ca58e0be-eb90-49ad-a1a7-e0661dc888b0"},"outputs":[],"source":["def cutting_into_whole_cycles(data, time, max_peaks, min_peaks):\n","    \"\"\"\n","    Cuts the data into whole cycles by trimming the time and amplitude arrays to exclude values outside the range of the concatenated peaks.\n","\n","    Parameters:\n","    - data (numpy array): The amplitude (y) coordinates.\n","    - time (numpy array): The time (x) coordinates.\n","    - max_peaks (numpy array): An array of indices representing the positions of the maximum peaks.\n","    - min_peaks (numpy array): An array of indices representing the positions of the minimum peaks.\n","\n","    Returns:\n","    - time (numpy array): The trimmed time (x) coordinates.\n","    - data (numpy array): The trimmed amplitude (y) coordinates.\n","    - fix_min_peaks (numpy array): The adjusted positions of the fixed minimum peaks.\n","    - fix_max_peaks (numpy array): The adjusted positions of the fixed maximum peaks.\n","    \"\"\"\n","    # Trim the normalized time and amplitude arrays to exclude any values outside the range of the concatenated peaks.\n","    all_peaks = np.sort(np.concatenate([max_peaks, min_peaks], axis=0))\n","    data = data[all_peaks[0]:all_peaks[-1]]\n","    time = time[all_peaks[0]:all_peaks[-1]]\n","    time[0] = 0\n","\n","    # Adjusts the positions of the normalized maximum and minimum peaks to match the trimmed arrays.\n","    fix_max_peaks = max_peaks - all_peaks[0]\n","    fix_min_peaks = min_peaks - all_peaks[0]\n","\n","    # If the last position of the normalized maximum peaks is greater than the last position of the normalized minimum peaks,\n","    # it decrements the last position of the normalized maximum peaks by 1.\n","    if fix_max_peaks[-1] > fix_min_peaks[-1]:\n","        fix_max_peaks[-1] -= 1\n","\n","    # If the last position of the normalized maximum peaks is less than the last position of the normalized minimum peaks,\n","    # it decrements the last position of the normalized minimum peaks by 1.\n","    elif fix_max_peaks[-1] < fix_min_peaks[-1]:\n","        fix_min_peaks[-1] -= 1\n","\n","    return time, data, fix_min_peaks, fix_max_peaks"]},{"cell_type":"code","execution_count":null,"id":"5f92c3cb-6358-41b9-aae0-3092b33ed085","metadata":{"id":"5f92c3cb-6358-41b9-aae0-3092b33ed085"},"outputs":[],"source":["def norm_df_with_peaks(data, max_peaks, min_peaks):\n","    \"\"\"\n","    Creates a normalized data frame with the peaks by applying normalization and cutting into whole cycles.\n","\n","    Parameters:\n","    - data (numpy array): The original PPG signal data.\n","    - max_peaks (numpy array): The positions of the maximum peaks.\n","    - min_peaks (numpy array): The positions of the minimum peaks.\n","\n","    Returns:\n","    - norm_part_df (pandas DataFrame): The normalized data frame with the peaks.\n","    \"\"\"\n","    # Call the normalize_data function to normalize the data based on the maximum and minimum peaks.\n","    norm_data, norm_time, all_peaks, max_peaks, min_peaks = normalize_data(data, max_peaks, min_peaks)\n","\n","    # Call the cutting_into_whole_cycles function to trim the normalized data to include only whole cycles.\n","    norm_time, norm_data, norm_min_peaks, norm_max_peaks = cutting_into_whole_cycles(norm_data, norm_time, max_peaks, min_peaks)\n","\n","    # Create an empty DataFrame to store the normalized data.\n","    norm_part_df = pd.DataFrame()\n","\n","    # Add columns for normalized time and data.\n","    norm_part_df['norm_time (x)'] = norm_time\n","    norm_part_df['norm_data (y)'] = norm_data\n","\n","    # Assign 'Min' and 'Max' labels to the corresponding peaks.\n","    norm_part_df.loc[norm_min_peaks, 'peak'] = 'Min'\n","    norm_part_df.loc[norm_max_peaks, 'peak'] = 'Max'\n","\n","    return norm_part_df"]},{"cell_type":"code","execution_count":null,"id":"022536ca-58fe-4667-a458-7b8d5ca9296d","metadata":{"id":"022536ca-58fe-4667-a458-7b8d5ca9296d"},"outputs":[],"source":["def df_with_peaks(minute_df, max_peaks, min_peaks):\n","    \"\"\"\n","    Processes a full minute DataFrame, identifying peaks and calculating the number of cycles.\n","\n","    Parameters:\n","    - minute_df (pandas DataFrame): The full minute DataFrame containing the PPG data.\n","    - max_peaks (numpy array): The positions of the maximum peaks.\n","    - min_peaks (numpy array): The positions of the minimum peaks.\n","\n","    Returns:\n","    - new_part_df (pandas DataFrame): The processed DataFrame with the original 'HiDeTr_PLETH' column,\n","      'peak' column, and 'Num_of_Cycles_in_part' column.\n","    \"\"\"\n","\n","    # Create a copy of the DataFrame to avoid modifying the original data\n","    new_minute_df = minute_df.copy()\n","    new_minute_df = pd.DataFrame(new_minute_df)\n","    # Ensure the 'peak' column exists\n","    new_minute_df['peak'] = None\n","\n","    # Concatenate the positions of the maximum and minimum peaks into a single array and sort them in ascending order.\n","    all_peaks = np.sort(np.concatenate([max_peaks, min_peaks], axis=0))\n","\n","    # Assign 'Min' and 'Max' labels to the rows in the new DataFrame corresponding to the positions of the minimum and maximum peaks, respectively.\n","    new_minute_df.loc[min_peaks, 'peak'] = 'Min'\n","    new_minute_df.loc[max_peaks, 'peak'] = 'Max'\n","\n","    # Calculate the number of cycles in the segment by dividing the number of peaks by 2 and subtracting 1\n","    cycle_nums = (len(all_peaks) / 2) - 1\n","\n","    # Add a new column 'Num_of_Cycles_in_part' to the new DataFrame, indicating the number of cycles in each part.\n","    new_minute_df['Num_of_Cycles_in_part'] = cycle_nums\n","\n","    return new_minute_df"]},{"cell_type":"code","execution_count":null,"id":"0a55b67d-0391-4b75-9036-aefffa9a1a0e","metadata":{"id":"0a55b67d-0391-4b75-9036-aefffa9a1a0e"},"outputs":[],"source":["def pre_processing1(df):\n","    \"\"\"\n","    Performs the first stage of pre-processing on the given PPG data frame.\n","    Its include peak extraction, condition evaluation, and creating the normalized and processed data frames.\n","\n","    Parameters:\n","    - df (pandas DataFrame): The input PPG data frame.\n","\n","    Returns:\n","    - norm_df (pandas DataFrame): The normalized data frame with the peaks.\n","    - processed_df (pandas DataFrame): The processed data frame with the peaks and additional information.\n","    - parts_with_peaks (int): The number of parts that contain peaks.\n","    - parts_after_conditions (int): The number of parts that satisfy the conditions for further processing.\n","    \"\"\"\n","    # Create empty data frames for the normalized data and processed data\n","    df = df.copy()\n","    df = df.reset_index(drop=True)\n","    norm_df = pd.DataFrame()\n","    processed_df = df.copy()\n","\n","    data = (df['HiDeTr_PLETH']).copy()\n","    max_peaks = df[df['is_max_peak']].index.tolist()\n","    min_peaks = df[df['is_min_peak']].index.tolist()\n","    # Concatenate the positions of the maximum and minimum peaks into a single array and sort them in ascending order.\n","    all_peaks = np.sort(np.concatenate([max_peaks, min_peaks], axis=0))\n","\n","    # Calculate the number of cycles in the segment by dividing the number of peaks by 2 and subtracting 1\n","    cycle_nums = (len(all_peaks) / 2) - 1\n","    # Add a new column 'Num_of_Cycles_in_part' to the new DataFrame, indicating the number of cycles in each part.\n","    processed_df['Num_of_Cycles_in_df'] = cycle_nums\n","    # Assign 'Min' and 'Max' labels to the rows in the new DataFrame corresponding to the positions of the minimum and maximum peaks, respectively.\n","    processed_df.loc[min_peaks, 'peak'] = 'Min'\n","    processed_df.loc[max_peaks, 'peak'] = 'Max'\n","    # Create the normalized data frame with the peaks\n","    norm_df = norm_df_with_peaks(data, max_peaks, min_peaks)\n","\n","    return norm_df, processed_df"]},{"cell_type":"code","execution_count":null,"id":"8ec61c12-1092-418a-af44-cfded8a5ecfc","metadata":{"scrolled":true,"id":"8ec61c12-1092-418a-af44-cfded8a5ecfc"},"outputs":[],"source":["norm_train_dfs = []\n","processed_train_dfs = []\n","norm_test_dfs = []\n","processed_test_dfs = []\n","\n","# Preprocess train data:\n","for key, df in train_proper_windows.items():\n","    norm_df, processed_df = pre_processing1(df)\n","    norm_train_dfs.append(norm_df)\n","    processed_train_dfs.append(processed_df)\n","\n","# Preprocess test data:\n","for key, df in test_proper_windows.items():\n","    norm_df, processed_df = pre_processing1(df)\n","    norm_test_dfs.append(norm_df)\n","    processed_test_dfs.append(processed_df)"]},{"cell_type":"code","execution_count":null,"id":"b0e20767-dc65-44c1-beea-f566922567b4","metadata":{"id":"b0e20767-dc65-44c1-beea-f566922567b4"},"outputs":[],"source":["def plot_examples_with_peaks_and_norm(norm_df,num):\n","    \"\"\"\n","    Plots examples of normalized PPG signals with peaks.\n","\n","    Args:\n","    norm_df (DataFrame): DataFrame containing the normalized PPG signal data with peaks.\n","    \"\"\"\n","    plt.figure(figsize=(30, 5))\n","    plt.title(f'Processed normalized PPG segment for {num} df')\n","\n","    # Plot the normalized PPG signal\n","    plt.plot(norm_df['norm_time (x)'], norm_df['norm_data (y)'])\n","\n","    # Plotting Max peaks in red\n","    plt.plot(norm_df[norm_df['peak'] == 'Max']['norm_time (x)'], norm_df[norm_df['peak'] == 'Max']['norm_data (y)'],'or')\n","\n","    # Plotting Min peaks in yellow\n","    plt.plot(norm_df[norm_df['peak'] == 'Min']['norm_time (x)'],norm_df[norm_df['peak'] == 'Min']['norm_data (y)'],'oy')\n","\n","    plt.legend()\n","    plt.show()"]},{"cell_type":"code","execution_count":null,"id":"86defb1d-884f-4439-b24b-6bc5409832ac","metadata":{"id":"86defb1d-884f-4439-b24b-6bc5409832ac"},"outputs":[],"source":["def plot_examples_with_peaks(processed_df, num):\n","    \"\"\"\n","    Plots examples of processed PPG signals with peaks.\n","\n","    Args:\n","    processed_df (DataFrame): DataFrame containing the processed PPG signal data with peaks.\n","    num (int): The example number being plotted.\n","    \"\"\"\n","    plt.figure(figsize=(30, 5))\n","    plt.title(f'Processed PPG segment for example {num + 1}')\n","\n","    # Plot the processed PPG signal\n","    plt.plot(processed_df['HiDeTr_PLETH'], label='PPG Signal')\n","\n","    # Plotting Max peaks in red\n","    plt.plot(processed_df[processed_df['peak'] == 'Max'].index, processed_df[processed_df['peak'] == 'Max']['HiDeTr_PLETH'],'or', label='Max Peaks')\n","\n","    # Plotting Min peaks in yellow\n","    plt.plot(processed_df[processed_df['peak'] == 'Min'].index,processed_df[processed_df['peak'] == 'Min']['HiDeTr_PLETH'],'oy',label='Min Peaks')\n","\n","    plt.legend()\n","    plt.show()"]},{"cell_type":"code","execution_count":null,"id":"83be88c1-03de-4b55-aafa-2244cb8beca2","metadata":{"id":"83be88c1-03de-4b55-aafa-2244cb8beca2"},"outputs":[],"source":["# Example for a plot:\n","num_examples = 5\n","for i, df in enumerate(norm_train_dfs[:num_examples]):\n","    plot_examples_with_peaks_and_norm(df, i)"]},{"cell_type":"code","execution_count":null,"id":"bd41bf60-ded0-4227-97d5-b59c7e5928eb","metadata":{"id":"bd41bf60-ded0-4227-97d5-b59c7e5928eb"},"outputs":[],"source":["# Ensure we only plot up to num_examples\n","for i, df in enumerate(processed_train_dfs[:num_examples]):\n","    plot_examples_with_peaks(df, i)"]},{"cell_type":"markdown","source":["**Save files**"],"metadata":{"id":"fsoEFb34QTRd"},"id":"fsoEFb34QTRd"},{"cell_type":"code","execution_count":null,"id":"72c3f2d2-f9fc-4def-be80-fc0f4040d1af","metadata":{"id":"72c3f2d2-f9fc-4def-be80-fc0f4040d1af","outputId":"de415611-51a8-49e6-e3e2-28406ec8be8b"},"outputs":[{"name":"stdout","output_type":"stream","text":["Dictionary saved to C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/Test Files\\PPG_Table_44851586.pkl\n"]}],"source":["org_train_directory_path = '\"C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/org processed dfs\"'\n","norm_train_directory_path = 'C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/norm processed dfs'\n","\n","org_test_directory_path = 'C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/test org processed dfs'\n","norm_test_directory_path = 'C:/Users/Idan Lichter/OneDrive/Desktop/study/3rd year/Final Project/test norm processed dfs'\n","\n","org__train_file_path = os.path.join(org_train_directory_path, 'train_original_dfs.pkl')\n","norm_train_file_path = os.path.join(norm_train_directory_path, 'train_norm_dfs.pkl')\n","\n","org__test_file_path = os.path.join(org_test_directory_path, 'test_original_dfs.pkl')\n","norm_test_file_path = os.path.join(norm_test_directory_path, 'test_norm_dfs.pkl')\n","\n","# Save the dictionary to a pickle file\n","with open(org_train_file_path, 'wb') as f:\n","    pickle.dump(processed_train_dfs, f)\n","\n","with open(norm_train_file_path, 'wb') as f:\n","    pickle.dump(norm_train_dfs, f)\n","\n","with open(org_test_file_path, 'wb') as f:\n","    pickle.dump(processed_test_dfs, f)\n","\n","with open(norm_test_file_path, 'wb') as f:\n","    pickle.dump(norm_test_dfs, f)\n","\n","print(f\"Dictionary saved to {file_path}\")"]}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.11.7"},"colab":{"provenance":[]}},"nbformat":4,"nbformat_minor":5}